Skip to content

Fix/tier one quality#3

Merged
K1-R1 merged 4 commits intomainfrom
fix/tier-one-quality
Mar 15, 2026
Merged

Fix/tier one quality#3
K1-R1 merged 4 commits intomainfrom
fix/tier-one-quality

Conversation

@K1-R1
Copy link
Owner

@K1-R1 K1-R1 commented Mar 15, 2026

This pull request introduces several improvements to CI workflows, installation safety, and error handling in the project. The most notable changes include switching to safer installation methods for shfmt, adding Bash 3.2 syntax checks, enforcing checksum verification for installs, and improving error reporting for missing dependencies.

CI/CD Workflow Improvements:

  • Replaced direct binary download of shfmt with go install in both ci.yml and release.yml, ensuring integrity verification via the Go module sum database. Updated $GITHUB_PATH to include the Go binary directory. [1] [2]
  • Added a new bash32 job in ci.yml to check syntax compatibility with Bash 3.2 on macOS, preventing use of Bash 4+ features in scripts.
  • Introduced .github/dependabot.yml to enable monthly automated dependency updates for GitHub Actions workflows.

Installation Safety Enhancements:

  • Added SMOOSH_NO_VERIFY environment variable to install.sh, allowing users to skip checksum verification (with warning) or aborting install if checksum files are missing, to protect against unverified installs. [1] [2] [3]

Error Handling and Documentation:

  • Improved error handling in smoosh by requiring the file command for MIME validation in --all mode, exiting with an error if not found, and updated exit codes and documentation accordingly. [1] [2]

K1-R1 added 4 commits March 15, 2026 14:39
Both codes were documented in README.md but missing from the --help
output, creating an inconsistency that misleads users and agents
relying on --help as the authoritative reference.

Signed-off-by: K1-R1 <77465250+K1-R1@users.noreply.github.com>
A missing .sha256 file previously produced only a warning and continued,
allowing an unverified binary to install silently. Now exits with an
error. Users in restricted environments can opt out via SMOOSH_NO_VERIFY=1,
which emits a prominent unsafe warning.

Signed-off-by: K1-R1 <77465250+K1-R1@users.noreply.github.com>
The previous curl-based binary download had no integrity check (mvdan/sh
does not publish separate checksum files). Switching to go install routes
through the Go module sum database (sum.golang.org), an append-only
transparency log that provides cryptographic integrity.

Also adds a bash32 CI job that parses smoosh under /bin/bash (Bash 3.2
on macOS runners), catching any Bash 4+ syntax that would break the
compatibility guarantee.

Signed-off-by: K1-R1 <77465250+K1-R1@users.noreply.github.com>
Actions are already pinned to commit SHAs, but without Dependabot those
pins will never be updated. Monthly cadence keeps them current without
generating noise.

Signed-off-by: K1-R1 <77465250+K1-R1@users.noreply.github.com>
@K1-R1 K1-R1 merged commit 8e2d082 into main Mar 15, 2026
6 checks passed
@K1-R1 K1-R1 deleted the fix/tier-one-quality branch March 15, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant